Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wasm][debugger] Detect new keyword in derived members on GetProperties #73230

Merged
merged 5 commits into from
Aug 9, 2022

Conversation

ilonatommy
Copy link
Member

@ilonatommy ilonatommy commented Aug 2, 2022

Fixes #69788 (VHO case from there).

On GetProperties of DerivedClass type object we want to return correctly inherited members. NewSlot values for sample hierarchy of entities are as follows:

BaseBaseClass{
  virtual string VHO = "BB"; // True (should be visible)
}
BaseClass: BaseBaseClass{
  new virtual string VHO = "B"; // True (should be hidden)
}
DerivedClass: BaseClass{
  override string VHO = "D"; // False (should be visible)
}

This means that if we detect a change between parents in newSlot value from False to True, we should hide the member that has the True value.
Till this moment we were hiding all members that have newSlot = True which resulted in hiding both "B" and "BB" and was incorrect - "BB" should not be missing.

@ilonatommy ilonatommy added arch-wasm WebAssembly architecture area-Debugger-mono labels Aug 2, 2022
@ilonatommy ilonatommy added this to the 7.0.0 milestone Aug 2, 2022
@ilonatommy ilonatommy self-assigned this Aug 2, 2022
@ghost
Copy link

ghost commented Aug 2, 2022

Tagging subscribers to this area: @thaystg
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes VHO case from #69788.

On GetProperties of DerivedClass type object we want to return correctly inherited members. NewSlot values for sample hierarchy of entities are as follows:

BaseBaseClass{
  virtual string VHO = "BB"; // True (should be visible)
}
BaseClass: BaseBaseClass{
  new virtual string VHO = "B"; // True (should be hidden)
}
DerivedClass: BaseClass{
  override string VHO = "D"; // False (should be visible)
}

This means that if we detect a change between parents in newSlot value from False to True, we should hide the member that has the True value.
Till this moment we were hiding all members that have newSlot = True which resulted in hiding both "B" and "BB" and was incorrect - "BB" should not be missing.

Author: ilonatommy
Assignees: ilonatommy
Labels:

arch-wasm, area-Debugger-mono

Milestone: 7.0.0

@ghost
Copy link

ghost commented Aug 2, 2022

Tagging subscribers to 'arch-wasm': @lewing
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes VHO case from #69788.

On GetProperties of DerivedClass type object we want to return correctly inherited members. NewSlot values for sample hierarchy of entities are as follows:

BaseBaseClass{
  virtual string VHO = "BB"; // True (should be visible)
}
BaseClass: BaseBaseClass{
  new virtual string VHO = "B"; // True (should be hidden)
}
DerivedClass: BaseClass{
  override string VHO = "D"; // False (should be visible)
}

This means that if we detect a change between parents in newSlot value from False to True, we should hide the member that has the True value.
Till this moment we were hiding all members that have newSlot = True which resulted in hiding both "B" and "BB" and was incorrect - "BB" should not be missing.

Author: ilonatommy
Assignees: ilonatommy
Labels:

arch-wasm, area-Debugger-mono

Milestone: 7.0.0

@ilonatommy
Copy link
Member Author

/azp run runtime-staging

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Member

@thaystg thaystg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ilonatommy ilonatommy merged commit 3c389db into dotnet:main Aug 9, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Sep 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-Debugger-mono
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[wasm][debugger] Differentiate between virtual and new virtual in derived members on GetProperties
2 participants